package com.chenfan.filestore.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.chenfan.ccp.util.tool.UuidUtil;
import com.chenfan.filestore.dto.BatchImportTemplateDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.beans.BeanUtils;

/**
 * @author K
 * @date 2023/5/15 2:14 PM
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class BatchImportTemplate extends BaseEntity {
    /**
     * 模板id
     */
    @TableId
    private Long templateId;
    /**
     * 模板Code
     */
    private String templateCode;
    /**
     * 模板名称
     */
    private String templateName;
    /**
     * 所属系统id
     */
    private Long systemId;
    /**
     * 所属系统名称
     */
    private String systemName;
    /**
     * 所属模块id
     */
    private Long moduleId;
    /**
     * 模块名称
     */
    private String moduleName;
    /**
     * 模板url
     */
    private String templateUrl;
    /**
     * 模板url名称
     */
    private String templateUrlName;
    /**
     * 导入下载模板url
     */
    private String templateDownloadUrl;
    /**
     * 批量大小
     */
    private Integer batchSize;
    /**
     * 回调业务接口
     */
    private String callbackUrl;
    /**
     * 分组字段
     */
    private String groupField;
    /**
     * 备注
     */
    private String remark;
    /**
     * 状态
     */
    private Integer status;

    public static BatchImportTemplate ofDefault(BatchImportTemplateDTO batchImportTemplateDTO) {
        BatchImportTemplate batchImportTemplate = new BatchImportTemplate();
        BeanUtils.copyProperties(batchImportTemplateDTO, batchImportTemplate);
        batchImportTemplate.setUp();
        return batchImportTemplate;
    }
}
